package com.ltkj.shop.domain;

import java.math.BigDecimal;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ltkj.common.core.annotation.Excel;
import com.ltkj.common.core.web.domain.BaseEntity;

/**
 * 酒店房间对象 shop_hotel_room
 *
 * @author xupf
 * @date 2023-09-09
 */
@ApiModel(value = "酒店房间")
public class ShopHotelRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 酒店房间id */
    @ApiModelProperty("酒店房间id")
    private Long id;

    /** 基础店铺ID */
    @Excel(name = "基础店铺ID")
    @ApiModelProperty("基础店铺ID")
    private Long sysStoresId;

    /** 用户id */
    @Excel(name = "用户id")
    @ApiModelProperty("用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 房间名称 */
    @Excel(name = "房间名称")
    @ApiModelProperty("房间名称")
    private String name;

    /** 酒店id */
    @Excel(name = "酒店id")
    @ApiModelProperty("酒店id")
    private Long hotelId;

    /** 缩略图 */
    @Excel(name = "缩略图")
    @ApiModelProperty("缩略图")
    private String imgAbbrev;

    /** 房间描述 */
    @Excel(name = "房间描述")
    @ApiModelProperty("房间描述")
    private String roomDesc;

    /** 类型id shop_hotel_room_type 表id*/
    @Excel(name = "类型id")
    @ApiModelProperty("类型id")
    private Long typeId;

    /** 房间类型，字典编码：shop_hotel_room_type（1标间 2大床房 3家庭房 4商务标间 5商务套房）
     *  弃用当前字段，改用typeId
     */
    @Excel(name = "房间类型，字典编码：shop_hotel_room_type", readConverterExp = "1=标间,2=大床房,3=家庭房,4=商务标间,5=商务套房")
    @ApiModelProperty("房间类型，字典编码：shop_hotel_room_type（1标间 2大床房 3家庭房 4商务标间 5商务套房）")
    private String type;

    /** 房间最小面积 */
    @Excel(name = "房间最小面积")
    @ApiModelProperty("房间最小面积")
    private Long roomMinArea;

    /** 房间最大面积 */
    @Excel(name = "房间最大面积")
    @ApiModelProperty("房间最大面积")
    private Long roomMaxArea;

    /** 实际价格 */
    @Excel(name = "实际价格")
    @ApiModelProperty("实际价格")
    private BigDecimal price;

    /** 原价格 */
    @Excel(name = "原价格")
    @ApiModelProperty("原价格")
    private BigDecimal priceSrc;

    /** 床位描述 */
    @Excel(name = "床位描述")
    @ApiModelProperty("床位描述")
    private String bedDesc;

    /** 所在楼层 */
    @Excel(name = "所在楼层")
    @ApiModelProperty("所在楼层")
    private Long floorNum;

    /** 有无窗户，公共字典 */
    @Excel(name = "有无窗户，公共字典")
    @ApiModelProperty("有无窗户，公共字典")
    private String windows;

    /** 无线 */
    @Excel(name = "无线")
    @ApiModelProperty("无线")
    private String wirelessNet;

    /** 有线宽带 */
    @Excel(name = "有线宽带")
    @ApiModelProperty("有线宽带")
    private String wiredNet;

    /** 是否禁烟，公共字典 */
    @Excel(name = "是否禁烟，公共字典")
    @ApiModelProperty("是否禁烟，公共字典")
    private String smoke;

    /** 房间允许入住人数 */
    @Excel(name = "房间允许入住人数")
    @ApiModelProperty("房间允许入住人数")
    private Long personNum;

    /** 有无早餐，公共字典 */
    @Excel(name = "有无早餐，公共字典")
    @ApiModelProperty("有无早餐，公共字典")
    private String breakfast;

    /** 食品饮品 */
    @Excel(name = "食品饮品")
    @ApiModelProperty("食品饮品")
    private String foodDesc;

    /** 费用政策 */
    @Excel(name = "费用政策")
    @ApiModelProperty("费用政策")
    private String costDesc;

    /** 便利设施 */
    @Excel(name = "便利设施")
    @ApiModelProperty("便利设施")
    private String amenityDesc;

    /** 媒体科技 */
    @Excel(name = "媒体科技")
    @ApiModelProperty("媒体科技")
    private String mediumDesc;

    /** 浴室配套 */
    @Excel(name = "浴室配套")
    @ApiModelProperty("浴室配套")
    private String bathroomDesc;

    /** 洗浴用品 */
    @Excel(name = "洗浴用品")
    @ApiModelProperty("洗浴用品")
    private String toiletriesDesc;

    /** 状态（1上架 0下架） */
    @Excel(name = "状态", readConverterExp = "1=上架,0=下架")
    @ApiModelProperty("状态（1上架 0下架）")
    private String status;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    @ApiModelProperty("逻辑删除")
    private String isDel;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setSysStoresId(Long sysStoresId)
    {
        this.sysStoresId = sysStoresId;
    }

    public Long getSysStoresId()
    {
        return sysStoresId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setHotelId(Long hotelId)
    {
        this.hotelId = hotelId;
    }

    public Long getHotelId()
    {
        return hotelId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public void setImgAbbrev(String imgAbbrev)
    {
        this.imgAbbrev = imgAbbrev;
    }

    public String getImgAbbrev()
    {
        return imgAbbrev;
    }
    public void setRoomDesc(String roomDesc)
    {
        this.roomDesc = roomDesc;
    }

    public String getRoomDesc()
    {
        return roomDesc;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setRoomMinArea(Long roomMinArea)
    {
        this.roomMinArea = roomMinArea;
    }

    public Long getRoomMinArea()
    {
        return roomMinArea;
    }
    public void setRoomMaxArea(Long roomMaxArea)
    {
        this.roomMaxArea = roomMaxArea;
    }

    public Long getRoomMaxArea()
    {
        return roomMaxArea;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setPriceSrc(BigDecimal priceSrc)
    {
        this.priceSrc = priceSrc;
    }

    public BigDecimal getPriceSrc()
    {
        return priceSrc;
    }
    public void setBedDesc(String bedDesc)
    {
        this.bedDesc = bedDesc;
    }

    public String getBedDesc()
    {
        return bedDesc;
    }
    public void setFloorNum(Long floorNum)
    {
        this.floorNum = floorNum;
    }

    public Long getFloorNum()
    {
        return floorNum;
    }
    public void setWindows(String windows)
    {
        this.windows = windows;
    }

    public String getWindows()
    {
        return windows;
    }
    public void setWirelessNet(String wirelessNet)
    {
        this.wirelessNet = wirelessNet;
    }

    public String getWirelessNet()
    {
        return wirelessNet;
    }
    public void setWiredNet(String wiredNet)
    {
        this.wiredNet = wiredNet;
    }

    public String getWiredNet()
    {
        return wiredNet;
    }
    public void setSmoke(String smoke)
    {
        this.smoke = smoke;
    }

    public String getSmoke()
    {
        return smoke;
    }
    public void setPersonNum(Long personNum)
    {
        this.personNum = personNum;
    }

    public Long getPersonNum()
    {
        return personNum;
    }
    public void setBreakfast(String breakfast)
    {
        this.breakfast = breakfast;
    }

    public String getBreakfast()
    {
        return breakfast;
    }
    public void setFoodDesc(String foodDesc)
    {
        this.foodDesc = foodDesc;
    }

    public String getFoodDesc()
    {
        return foodDesc;
    }
    public void setCostDesc(String costDesc)
    {
        this.costDesc = costDesc;
    }

    public String getCostDesc()
    {
        return costDesc;
    }
    public void setAmenityDesc(String amenityDesc)
    {
        this.amenityDesc = amenityDesc;
    }

    public String getAmenityDesc()
    {
        return amenityDesc;
    }
    public void setMediumDesc(String mediumDesc)
    {
        this.mediumDesc = mediumDesc;
    }

    public String getMediumDesc()
    {
        return mediumDesc;
    }
    public void setBathroomDesc(String bathroomDesc)
    {
        this.bathroomDesc = bathroomDesc;
    }

    public String getBathroomDesc()
    {
        return bathroomDesc;
    }
    public void setToiletriesDesc(String toiletriesDesc)
    {
        this.toiletriesDesc = toiletriesDesc;
    }

    public String getToiletriesDesc()
    {
        return toiletriesDesc;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setIsDel(String isDel)
    {
        this.isDel = isDel;
    }

    public String getIsDel()
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("sysStoresId", getSysStoresId())
                .append("userId", getUserId())
                .append("name", getName())
                .append("hotelId", getHotelId())
                .append("typeId", getTypeId())
                .append("imgAbbrev", getImgAbbrev())
                .append("roomDesc", getRoomDesc())
                .append("type", getType())
                .append("roomMinArea", getRoomMinArea())
                .append("roomMaxArea", getRoomMaxArea())
                .append("price", getPrice())
                .append("priceSrc", getPriceSrc())
                .append("bedDesc", getBedDesc())
                .append("floorNum", getFloorNum())
                .append("windows", getWindows())
                .append("wirelessNet", getWirelessNet())
                .append("wiredNet", getWiredNet())
                .append("smoke", getSmoke())
                .append("personNum", getPersonNum())
                .append("breakfast", getBreakfast())
                .append("foodDesc", getFoodDesc())
                .append("costDesc", getCostDesc())
                .append("amenityDesc", getAmenityDesc())
                .append("mediumDesc", getMediumDesc())
                .append("bathroomDesc", getBathroomDesc())
                .append("toiletriesDesc", getToiletriesDesc())
                .append("status", getStatus())
                .append("isDel", getIsDel())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
